Leading edge digital televisions (DTVs) typically include one or more digital devices that are connected together to create the TV electronics. These various devices may include CPUs, tuners, demodulators, USB ports, storage devices, transcoders, scalers, deinterlacers, and so on. Each device usually includes its own software control program referred to as a device driver. The DTV's main CPU must communicate with the devices through their device drivers. The software control program that comprises the device driver is executed on the CPU of the DTV, and ordinarily is included in the main program store on the DTV.
As understood herein, as DTV technology advances, functions that previously only existed in chips external to the TV's main CPU chip are newly incorporated within next generation chips. This creates a challenge in maintaining a consistent software interface to the hardware that implements the desired function. In addition, while TVs have not generally been upgradeable devices, some new TV technology functions may be seen as too expensive or too speculative to include in all DTVs, and hence are added only as aftermarket modules. Such modules may include pre-recorded disk drives (such as DVD or Blu-ray), hard disk storage, TCP/IP networking, and tuning of new services (such as cable or satellite TV). Providing a consistent development interface to DTV engineers as well as a consistent user interface for the consumer on the DTV are challenges in this environment. This includes providing ways for the DTV to access functions that a new module provides, as well as providing a way for an added module to access functions that the DTV provides.
The present invention is directed at these problems.